// 组装模块并导出store的地方


// 每一个vuex应用的核心是store，store基本上就是一个容器，它包含着你的中的大部分状态（stare）

// Vuex 和单纯的全局对象有以下两点不同：
// 1.Vuex的状态存储是响应式的,当Vue组件从store中读取状态的时候,若store中的状态发生改变,那么相应的组件的状态也会得到相应的更新
// 2.你不能直接改变store中的状态,改变store中的状态的唯一途径就是显示地提交 mutation,这样似的我们可以方便的跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更还哦的了解我们的应用,



// State 单一状态树]
// 获取store中的数据 this.$store.state.

// Getter

// Mutation

// Action

// Module 




import vue from 'vue';
import vuex from 'vuex';
import state from './state.js';
import * as getters from './getters.js';
import mutations from './mutations.js';
import actions from  './actions.js';

import appId from './modules/appId.js';

import createLogger from 'vuex/dist/logger';    //修改日志

vue.use(vuex);

const debug = process.env.NODE_ENV !== 'production'; // 开发环境中为true，否则为false





export default new vuex.Store({
	state,
	getters,
	actions,
	mutations: mutations,
	modules:{
		appId
	},
	plugins: debug ? [createLogger()] : []    //开发黄金下显示vuex的状态
})



